#include <iostream>
#include <chrono>
#include <ctime>
#include <unistd.h> //sleep:程序休眠
#include<vector>
#include<algorithm>

void BubbleSort(std::vector<int>&v)
{
    for(int i=0;i<v.size()-1;i++)
    {
        for(int j=0;j<v.size()-i-1;j++)
        {
            if(v[j]>v[j+1])
            {
                std::swap(v[j],v[j+1]);
            }
        }


    }

}
class Timer
{
public:
    void Start()
    {
        start=std::chrono::steady_clock::now();
    }

    void Stop()
    {
        end=std::chrono::steady_clock::now();
    }
    long GetDuration()
    {
        return std::chrono::duration_cast<std::chrono::milliseconds>(end-start).count();
    }
private:
    std::chrono::steady_clock::time_point start;
    std::chrono::steady_clock::time_point end;

};
int main()
{
    //      while(1)
    // {   sleep(1);
    //    time_t t=time(nullptr);
    //   tm*m=localtime(&t);
    //   std::cout<<ctime(&t)<<std::endl;
    //     //std::cout<<m->tm_year+1900<<" "<<m->tm_mon+1<<" "<<m->tm_mday<<" "<<m->tm_hour<<" "<<m->tm_min<<" "<<m->tm_sec<<" ";
    //     printf("%d年%d月%d日%d时%d分%d秒\r",m->tm_year+1900,m->tm_mon+1,m->tm_mday,m->tm_hour,m->tm_min,m->tm_sec);
    //     fflush(stdout);//刷新输出缓冲区
    // }

    //clock:时钟
    //time_point :时间点
    //duration:时间间隔
    //系统时钟:系统时间
    //auto time=std::chrono::system_clock::now();
    //从系统的开机开始算的时间
    // std::chrono::steady_clock
    //高精度时钟
    //std::chrono::high_resolution_clock;
    std::vector<int>v;
    for(int i=0;i<20000;i++)
    {
        v.push_back(rand()%100000+1);
    }
    
    auto start=std::chrono::steady_clock::now();
    //std::sort(v.begin(),v.end());
    BubbleSort(v);
    auto end=std::chrono::steady_clock::now();
    std::cout<<std::chrono::duration_cast<std::chrono::milliseconds>(end-start).count()
    <<std::endl;
    return 0;
}